#!/bin/bash

#ubuntu2204离线降级内核

#到官网下载内核 deb 包
#官方地址: https://kernel.ubuntu.com/~kernel-ppa/mainline/ 

#lt 长期支持版
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-headers-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-headers-5.19.0-051900_5.19.0-051900.202207312230_all.deb
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-image-unsigned-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-modules-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb

#安装新版本内核
dpkp -i *.deb

# 查看当前系统已经安装的内核版本
grep 'menuentry' /boot/grub/grub.cfg

# 修改grub配置
sed -i 's/GRUB_DEFAULT.*/GRUB_DEFAULT="gnulinux-advanced-09406323-f538-4972-9dec-58d9c5a274dc>gnulinux-5.19.0-051900-generic-advanced-09406323-f538-4972-9dec-58d9c5a274dc"/g' /etc/default/grub

# 更新grub设置
update-grub

# 重启服务器
reboot

#验证系统是否使用的降级后的版本内核
uname -ar

# 删除原来高版本的内核
## 查看当前系统所有已安装的内核
#dpkg --get-selections | grep linux-image

## 删除内核 
#apt-get remove linux-image-6.5.0-18-generic

## 如果系统中保留一个版本的内核需要将/etc/default/grub GRUB_DEFAULT 设置为 GRUB_DEFAULT=0
#sed -i 's/GRUB_DEFAULT.*/GRUB_DEFAULT=0/g' /etc/default/grub

## 更新grub设置
#update-grub
